vimrc

windows下,打开gvim,使用:vi $vim/_vimrc打开配置文件:e $vim/_vimrc

linux下,使用vi ~/.vimrc打开配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
set nocompatible            "不要使用vi的键盘模式,而是vim自己的  
set gfn=Consolas:h12 "字体,大小
set nu "显示行号
set list "显示TAB
set cursorline "突出显示当前行"为光标所在行加下划线
set encoding=utf-8 "编码
set fileencodings=uft-8,gbk "使用utf-8或gbk打开文件
filetype on "侦测文件类型

set shortmess=atI "不进入默认首页
set showcmd "显示命令行

"set backup "保留备份文件
"set backupdir=$VIM/backup/ "保存备份到backup
set nobackup "不保留备份文件
set noundofile "不保留un~文件
set noswapfile "不生成swap文件

set ruler "打开状态栏标尺
set laststatus=2 "总是显示状态行
set showtabline=1 "标签栏的显示,0永远不显示 1两个以上显示 2 永远显示
set statusline=%F%m%r%h%w\[POS=%l,%v][%p%%]\%{strftime(\"%d/%m/%y\ -\ %H:%M\")} "我的状态行显示的内容(包括文件类型和解码)

set nowrapscan "禁止在搜索到文件两端时重新搜索
set incsearch "输入搜索内容时就显示搜索结果
set ignorecase "检索时忽略大小写
set hlsearch "搜索时高亮显示被找到的文本

set autoread "当文件在外部被修改时,自动重新读取

colorscheme desert "设定配色方案
syntax enable "打开格式设置
syntax on "自动语法高亮

set ai "自动缩进
set showmatch "代码匹配"高亮显示匹配的括号
set matchtime=5 "匹配括号高亮的时间(单位是十分之一秒)

set expandtab "以下三个配置配合使用,设置tab和缩进空格数
set softtabstop=4 "统一缩进为4
set shiftwidth=4
set tabstop=4 "设定 tab 长度为 4
"set listchars=tab:>-,trail: "tab显示方式
"set noexpandtab "不要用空格代替制表符

set helplang=cn "帮助系统设置为中文

"set nowrap "不要换行

set foldmethod=syntax "代码折叠
set fdm=indent "代码折叠
set foldlevel=100 "启动vim时不要自动折叠代码
nnoremap <space> zo "代码折叠快捷键

set formatoptions=tcrqn "自动格式化
set autoindent "继承前一行的缩进方式,特别适用于多行注释
set smartindent "为C程序提供自动缩进
set cindent "使用C样式的缩进
set smarttab "在行和段开始处使用制表符

set scrolloff=1 "光标移动到buffer的顶部和底部时保持n行距离
set novisualbell "不要闪烁

set report=0 "通过使用: commands命令,告诉我们文件的哪一行被改变过
set noerrorbells "不让vim发出讨厌的滴滴声
set fillchars=vert:\ ,stl:\ "在被分割的窗口间显示空白,便于阅读 ,stlnc:加了这个wm分割兰有\\
set mouse=a "可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set selection=exclusive
set selectmode=mouse,key

set viminfo+=! "保存全局变量
set history=300 "history文件中需要记录的行数

set magic "设置正表达式
set backspace=indent,eol,start "这指明在插入模式下在哪里允许 <BS> 删除光标前面的字符"逗号分隔的三个值分别指:行首的空白字符,换行符和插入模式开始处之前的字符。

let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vim
let autosave=15 "15s,自动保存文件

au BufRead,BufNewFile,BufEnter * cd %:p:h "自动切换目录为当前编辑文件所在目录
"保存到文档
exec 'cd ' . fnameescape('$HOME\Desktop\')

if has("gui_running") "如果是图形界面
set guioptions=m "关闭菜单栏
set guioptions=t "关闭工具栏
" set guioptions=L "启动左边的滚动条
" set guioptions+=r "启动右边的滚动条
" set guioptions+=b "启动下边的滚动条
set clipboard+=unnamed "共享剪贴板
endif
"if has("win32")
" colorscheme torte "torte配色方案
" set guifont=Consolas:h12 "字体和大小
"endif
"------------------------------------------------------
1
2
3
4
5
6
7
8
"Go to last file(s) if invoked without arguments.
autocmd VimLeave * nested if (!isdirectory($HOME . "/.vim")) |
\ call mkdir($HOME . "/.vim") |
\ endif |
\ execute "mksession! ". $HOME . "/.vim/Session.vim"

autocmd VimEnter * nested if argc() == 0 && filereadable($HOME . "/.vim/Session.vim") |
\ execute "source ". $HOME . "/.vim/Session.vim"
1
2
3
4
5
"MiniBufExplorer
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1

gvim不生成备份文件

打开vimrc_example.vim文件,找到下面的代码:

1
2
3
4
5
if has("vms")
set nobackup "do not keep a backup file, use versions instead
else
set backup "keep a backup file
endif

注释掉else后面的内容